package com.ruoyi.worker.mapper;

import com.ruoyi.worker.domain.CycleSchedule;
import com.ruoyi.worker.domain.TermSchedule;
import com.ruoyi.worker.domain.UserSchedule;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

@Mapper
public interface TermScheduleMapper {
    /**
     * 查询排班表记录列表
     * @author 刘松山
     * @date 2021/10/14 20:34
     * @param t
     * @return java.util.List<com.ruoyi.worker.domain.TermSchedule>
     */
    List<TermSchedule> listTermSchedule(TermSchedule t);
    /**
     * 新增排班记录
     * @author 刘松山
     * @date 2021/10/14 20:34
     * @param t
     * @return int
     */
    int addTermSchedule(TermSchedule t);
 /**
  * 修改排班记录
  * @author 刘松山
  * @date 2021/10/14 20:34
  * @param t
  * @return int
  */
    int modifyTermSchedule(TermSchedule t);
/**
 *
 * @author 刘松山
 * @date 2021/10/14 20:34
 * @param ids
 * @return int
 */
    int delBacthTermSchedule(Long[] ids);
    /**
     * 查询排班名称是否已经存在
     * @author 刘松山
     * @date 2021/10/15 14:35
     * @param t
     * @return int
     */
    int countTermSchedule(TermSchedule t);
/**
 * 获取排班记录详细信息
 * @author 刘松山
 * @date 2021/10/14 20:34
 * @param id
 * @return com.ruoyi.worker.domain.TermSchedule
 */
    TermSchedule getTermSchedule(long id);
    /**
     * 获取周期排班列表
     * @author 刘松山
     * @date 2021/10/15 13:09
     * @return java.util.List<com.ruoyi.worker.domain.CycleSchedule>
     */
    List<CycleSchedule> listCycleSchedule();
    /**
     * 保存周期排班
     * @author 刘松山
     * @date 2021/10/15 13:10
     * @param list
     * @return int
     */
    int addCycleSchedule(List<CycleSchedule> list);
    /**
     * 删除周期排班
     * @author 刘松山
     * @date 2021/10/15 13:10
     * @return int
     */
    int delCycleSchedule();
    /**
     * 获取人员排班列表
     * @author 刘松山
     * @date 2021/10/15 13:34
     * @param userSchedule
     * @return java.util.List<com.ruoyi.worker.domain.UserSchedule>
     */
    List<UserSchedule> listUserSchedule(UserSchedule userSchedule);
    /**
     * 保存人员排班情况
     * @author 刘松山
     * @date 2021/10/15 13:34
     * @param list
     * @return int
     */
    int addUserSchedule(List<UserSchedule> list);
    /**
     * 删除人员排班
     * @author 刘松山
     * @date 2021/10/15 13:35
     * @param ids
     * @return int
     */
    int delUserSchedule(Long[] ids );

    /**
     * 获取排班人员
     * @author 刘松山
     * @date 2021/10/16 14:45
     * @param param
     * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     */
    List<Map<String,Object>> listUserSchedule(Map<String,Object> param);

    List<UserSchedule> listUserScheduleResult(Map<String,Object> param);
    /**
     * 查询用户时间内的要排班的信息是否已经存在了
     * @author 刘松山
     * @date 2021/10/22 9:53
     * @param param
     * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     */
    List<UserSchedule> listuserDateSchedule(Map<String,Object> param);
}
